The approaches described in this section could be pursued but are not necessarily approaches that have previously been conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
A GSLB system may use a GSLB controller to balance workloads among multiple servers located at different geographical locations. When the GSLB system receives a session request from a local Domain Name System (DNS) server of a client, the GSLB system usually selects a server that has a minimum response time to the session request from the client. The GSLB controller may request server load balancers (SLBs) associated with each of the servers to send a DNS request to the client local DNS server. Upon receiving a response to the DNS request sent by the servers to the local DNS server, the response time of each of the servers may be determined. The GSLB controller may select the server having the minimum response time. However, a firewall placed between the local DNS server and the SLB can make the measuring of the response time of the server impossible.
Furthermore, in conventional technical solutions, the GSLB controller may select a server that is located at the same geographical location as the client. The GSLB controller usually performs matching of the geographical locations of the server and the client by determining a geographical location of the local DNS server of the client and matching the determined geographical location to a pre-determined geographical location of the server. Only a single GSLB controller and a plurality of servers at the same geographical location are assumed to be provided to serve the geographical location of the client and the local DNS server. However, the demand for services may exceed the capacity of the single GSLB controller or the capacity of the plurality of servers at the same geographical location.
Moreover, in case of a distributed GSLB system having a plurality of GSLB controllers, each being co-located with a plurality of servers, if the local DNS server of the client sends the session request to one of the GSLB controllers, the servers co-located with the receiving GSLB controller may not provide the optimal choice for serving the client. In contrast, a server located elsewhere can provide a quicker response time.